﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GeneratorLeksickogAnalizatora
{
    /// <summary>
    /// Enkapsulira ulaznu datoteku. Implementacije ovog sučelja
    /// su odgovorne za učitavanje datoteke, ekspanziju regularnih izraza,
    /// uređivanje znakova za novi red te ostalo sređivanje ulaza. 
    /// Dužne su očuvati originalne retke ulazne datoteke.
    /// Izlaz podataka je metoda DohvatiRed() kojom se iz ulazne datoteke
    /// dohvaća jedan red
    /// </summary>
    /// <remarks>sučelje ćemo doraditi ako se pokaže potrebnim - recimo za gui</remarks>
    public interface IUlaznaDatoteka
    {
        /// <summary>
        /// Dohvaća sljedeći red iz ulazne datoteke
        /// </summary>
        /// <returns>sljedeći red ili null ako smo došli do kraja datoteke</returns>
        string DohvatiRed();
        /// <summary>
        /// Resetira datoteku; čitanje kreće ispočetka
        /// </summary>
        /// <returns>void</returns>
        void Reset();
    }

    
}
